Ambiguity: dhcproto defines RelayCode::VirtualSubnet (151) and VirtualSubnetControl (152) but has no RelayInfo variants for them.
Choice: Encode VSS sub-options as raw TLV byte sequences, decoded manually in check_server_support().
Rationale: Same approach as Remote-ID — the wire format is simple and correct. Can switch to dedicated variants if dhcproto adds them.
None.
Chose: Separate files per protocol, each feature-gated independently.
Rationale: Avoids #[cfg] noise inside a single file. The protocols diverge enough (sub-options inside Option 82 vs standalone option 68) that shared code would be minimal.
None.